﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static InteractiveMusicPlayerMobile.文件浏览器;

namespace InteractiveMusicPlayerMobile.控件与界面
{
    public class 播放信息: INotifyPropertyChanged
    {

        public bool 服务已启动 { get; set; }
        public bool 拖动中 { get; set; }
        private string _音频名称 = "未播放";
        public string 音频名称
        {
            get { return _音频名称; }
            set { _音频名称 = value; OnPropertyChanged(nameof(音频名称)); }
        }


        private string _总时间 = "0:00";
        public string 总时间
        {
            get { return _总时间; }
            set { _总时间 = value; OnPropertyChanged(nameof(总时间)); }
        }
        private string _已播时间 = "0:00";
        public string 已播时间
        {
            get { return _已播时间; }
            set { _已播时间 = value; OnPropertyChanged(nameof(已播时间)); }
        }
        private int _时间百分比 = 0;
        public int 时间百分比
        {
            get { return _时间百分比; }
            set { if (拖动中) { return; }  _时间百分比 = value; OnPropertyChanged(nameof(时间百分比)); }
        }

        private string _音频章节名 = "默认章节";
        public string 音频章节名
        {
            get { return _音频章节名; }
            set { _音频章节名 = value; OnPropertyChanged(nameof(音频章节名)); }
        }

        private 文件与文件夹 _媒体信息;
        public 文件与文件夹 媒体信息
        {
            get { return _媒体信息; }
            set { _媒体信息 = value; OnPropertyChanged(nameof(媒体信息)); }
        }

        public static 播放信息 运行时 { get; set; }
        public 播放信息()
        {
            运行时 = this;
        }

        public event PropertyChangedEventHandler? PropertyChanged;
        public void OnPropertyChanged(string propertyName)
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
        }
    }
}
